home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_emacs.idb / usr / freeware / share / emacs / 19.34 / lisp / autoinsert.elc.z / autoinsert.elc (.txt)
Encoding:
LaTeX Document  |  1998-10-28  |  6.2 KB  |  53 lines

  1. ;;; compiled by rms@mole.gnu.ai.mit.edu on Thu Jan 18 01:46:09 1996
  2. ;;; from file /gd/gnu/emacs/19.0/lisp/autoinsert.el
  3. ;;; emacs version 19.30.70.7.
  4. ;;; bytecomp version FSF 2.10
  5. ;;; optimization is on.
  6. ;;; this file uses opcodes which do not exist in Emacs 18.
  7. (if (and (boundp 'emacs-version)
  8.      (or (and (boundp 'epoch::version) epoch::version)
  9.          (string-lessp emacs-version "19.29")))
  10.     (error "`autoinsert.el' was compiled for Emacs 19.29 or later"))
  11. #@506 *Controls automatic insertion into newly found empty files:
  12.     nil    do nothing
  13.     t    insert if possible
  14.     other    insert if possible, but mark as unmodified.
  15. Insertion is possible when something appropriate is found in
  16. `auto-insert-alist'.  When the insertion is marked as unmodified, you can
  17. save it with  \[write-file] RET.
  18. This variable is used when `auto-insert' is called as a function, e.g.
  19. when you do (add-hook 'find-file-hooks 'auto-insert).
  20. With \[auto-insert], this is always treated as if it were `t'.
  21. (defvar auto-insert (quote not-modified) (#$ . -480))
  22. #@113 *If non-`nil', ask user before auto-inserting.
  23. When this is `function', only ask when called non-interactively.
  24. (defvar auto-insert-query (quote function) (#$ . -1046))
  25. #@121 *Prompt to use when querying whether to auto-insert.
  26. If this contains a %s, that will be replaced by the matching rule.
  27. (defvar auto-insert-prompt "Perform %s auto-insertion? " (#$ . -1222))
  28. #@686 A list specifying text to insert by default into a new file.
  29. Elements look like (CONDITION . ACTION) or ((CONDITION . DESCRIPTION) . ACTION).
  30. CONDITION maybe a regexp that must match the new file's name, or it may be
  31. a symbol that must match the major mode for this element to apply.
  32. Only the first matching element is effective.
  33. Optional DESCRIPTION is a string for filling `auto-insert-prompt'.
  34. ACTION may be a skeleton to insert (see `skeleton-insert'), an absolute
  35. file-name or one relative to `auto-insert-directory' or a function to call.
  36. ACTION may also be a vector containing several successive single actions as
  37. described above, e.g. ["header.insert" date-and-author-update].
  38. (defvar auto-insert-alist (quote ((("\\.\\([Hh]\\|hh\\|hpp\\)\\'" . "C / C++ header") (upcase (concat (file-name-nondirectory (substring buffer-file-name 0 (match-beginning 0))) "_" (substring buffer-file-name (1+ (match-beginning 0))))) "#ifndef " str n "#define " str "\n\n" _ "\n\n#endif") (("\\.\\([Cc]\\|cc\\|cpp\\)\\'" . "C / C++ program") nil "#include \"" (and (fboundp (quote c-companion-file)) (file-name-nondirectory (c-companion-file (quote name)))) & 34 | -10) ("[Mm]akefile\\'" . "makefile.inc") (html-mode lambda nil (sgml-tag "html")) (plain-tex-mode . "tex-insert.tex") (bibtex-mode . "tex-insert.tex") (latex-mode "options, RET: " "\\documentstyle[" str & 93 | -1 123 (read-string "class: ") "}\n" ("package, %s: " "\\usepackage[" (read-string "options, RET: ") & 93 | -1 123 str "}\n") _ "\n\\begin{document}\n" _ "\n\\end{document}") (("/bin/.*[^/]\\'" . "Shell-Script mode magic number") lambda nil (if (eq major-mode default-major-mode) (sh-mode))) (ada-mode . ada-header) (("\\.el\\'" . "Emacs Lisp header") "Short description: " ";;; " (file-name-nondirectory (buffer-file-name)) " --- " str "\n\n;; Copyright (C) " (substring (current-time-string) -4) " by " (getenv "ORGANIZATION") | "Free Software Foundation, Inc." "\n\n;; Author: " (user-full-name) (quote (if (search-backward "&" (save-excursion (beginning-of-line 1) (point)) t) (replace-match (capitalize (user-login-name)) t t))) (quote (end-of-line 1)) " <" (user-login-name) 64 (system-name) ">\n;; Keywords: " (quote (require (quote finder))) (quote (setq v1 (mapcar (lambda (x) (list (symbol-name (car x)))) finder-known-keywords) v2 (mapconcat (lambda (x) (format "%10.0s:  %s" (car x) (cdr x))) finder-known-keywords "\n"))) ((let ((minibuffer-help-form v2)) (completing-read "Keyword, C-h: " v1 nil t)) str ", ") & -2 "\n\n;; This file is part of GNU Emacs.\n\n;; GNU Emacs is free software; you can redistribute it and/or modify\n;; it under the terms of the GNU General Public License as published by\n;; the Free Software Foundation; either version 2, or (at your option)\n;; any later version.\n\n;; GNU Emacs is distributed in the hope that it will be useful,\n;; but WITHOUT ANY WARRANTY; without even the implied warranty of\n;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n;; GNU General Public License for more details.\n\n;; You should have received a copy of the GNU General Public License\n;; along with GNU Emacs; see the file COPYING.  If not, write to\n;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n;; Boston, MA 02111-1307, USA.\n\n;;; Commentary:\n\n;; " _ "\n\n;;; Code:\n\n\n\n;;; " (file-name-nondirectory (buffer-file-name)) " ends here"))) (#$ . 1420))
  39. #@54 *Directory from which auto-inserted files are taken.
  40. (defvar auto-insert-directory "~/insert/" (#$ . -4817))
  41. #@145 Insert default contents into a new file if `auto-insert' is non-nil.
  42. Matches the visited file name against the elements of `auto-insert-alist'.
  43. (defalias 'auto-insert #[nil "
  44. " [buffer-read-only this-command auto-insert auto-insert-alist nil action desc cond case-fold-search alist 1 major-mode string-match buffer-file-name file-readable-p auto-insert-directory t auto-insert-query function y-or-n-p format auto-insert-prompt mapcar #[(action) "
  45. " [action file-readable-p auto-insert-directory insert-file-contents ((byte-code "
  46. " [switch-to-buffer action lambda skeleton-insert] 2))] 3] vectorp vector buffer-modified-p set-buffer-modified-p] 6 (#$ . 4933) nil])
  47. #@210 Associate CONDITION with (additional) ACTION in `auto-insert-alist'.
  48. Optional AFTER means to insert action after all existing actions for CONDITION,
  49. or if CONDITION had no actions, after all other CONDITIONs.
  50. (defalias 'define-auto-insert #[(key action &optional after) "
  51.     \n\"
  52. " [assoc key auto-insert-alist elt vectorp vconcat after action vector] 6 (#$ . 5861)])
  53.